02. Build Your Project

Build Your Project

Build Your Project

For this project, you will be thinking deeply about the structure of an app and laying out that structure in Android.

Project Goals

You won't need to implement the actual music playing functionality. You just need to describe it. The goal of this project is to plan for building an app that has the structure of a music playing app to practice app design and the use of explicit intents to navigate around the app.

Each Activity should contain a TextView that describes the Activity. If you decide to mock up the content, or add real content, the reviewer might comment on your work, but it will not be considered to meet the requirements.

Getting Started

First, take a look at different kinds of music player apps. If you're having trouble, check out the Play Music app, the Pandora Radio app, and the Spotify app to start with.

Think about what kind of music player you would like to build. Will you make a streaming app? One that plays music from the device's library? Will you make a music discovery app?

Design Planning

Once you've chosen, write out a couple of ways you could structure your app. Think about where a user will start and what the most common use case of the app will be.

Select a potential structure and create an app with that structure in Android Studio. Your app should have 3 to 6 Activities. Some ideas for Activities would be:

  • "Now playing" screen

  • List artists, albums, playlists, or podcasts

  • Detail screen or screens for individual artists, albums, or podcasts

  • Store screen for buying music online

  • Search screen

Each Activity should contain a TextView which tells a user the point of the screen. You should also add a collection of buttons indicating what Activities can be reached from the current one. Use OnClickListener objects to make your buttons change Activity using Intents. Each activity should have a TextView that displays the purpose of the activity, as well as buttons that will let you navigate to other activities.

For example, a "Now Playing" Activity should have a TextView that describes the screen. It can also contain buttons that move to the Song Detail or Artist Detail Activities.

Finally, do some research on the technical hurdles and add a potential solution to each screen. The solution could be Android libraries or classes, an API on the internet, or code you could plan on writing. You do not need to actually implement any functionality.

The required components for this project are:

  • App should have 3 to 6 Activities
  • Each Activity contains a TextView explaining the Activity and the buttons that allow the user to change Activity
  • One of those Activities is a Payment Activity. For this Activity, find an external library or API that can be used in this situation. In the TextView of this activity, describe the library or API and how it can be used.

Many students ask, why is the Payment Activity required? When creating an app, developers commonly rely on existing external libraries or APIs so they don't have to re-write and maintain functionality that already exists. Processing payments or logins are common examples. As the creator of the Music app, your focus is on creating a smooth music playing experience, so leveraging existing code whose focus is on payments allows you to focus on developing your Music Player rather than developing Payment processing functionality.

Your project will be evaluated using the Musical Structure project rubric.